<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // jsonp({
    //     url: '',
    //     https: '',
    //     params: { w: 123 },
    //     cb: 'show'
    // })
    // https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=1&cb=s
    // function jsonp({ url, params, cb }) {
    //     return new Promise((resolve, reject) => {
    //         window[cb] = function (data) {
    //             resolve(data);
    //         }
    //         params = { ...params, cb };
    //         let arrs = []
    //         for (let key in params) {
    //             arrs.push(`${key}=${params[key]}`)
    //         }
    //         console.log(`${url}?${arrs.join('&')}`)
    //         let script = document.createElement('script');
    //         script.src = `${url}?${arrs.join('&')}`;
    //         document.body.appendChild(script);
    //     })
    // }
    // jsonp({
    //     url: 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',
    //     params: { wd: 'cb' },
    //     cb: 'show'
    // }).then(function (data) {
    //     console.log(data)
    // })

    // $.ajax({  
    //     type : "get",  
    //     async:false,  
    //     url : "http://app.example.com/base/json.do?sid=1494&busiId=101",  
    //     dataType : "jsonp",//数据类型为jsonp  
    //     jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数  
    //     success : function(data){  
    //         $("#showcontent").text("Result:"+data.result)  
    //     },  
    //     error:function(){  
    //         alert('fail');  
    //     }  
    // });   

    function ajax(obj) {
        obj.type = obj.type || 'get'
        obj.async = obj.async || false,
            obj.url = obj.url || '';
        obj.data = obj.data || '';
        obj.dataType = obj.dataType || 'json';

        // 参数的处理
        data = { ...obj.data };

        var arr = []
        for (var k in data) {
            arr.push(`${k}=${data[k]}`)
        }
        obj.url = `${obj.url}?${arr.join('&')}`;
        // console.log(obj.url)
        var script = document.createElement('script');
        script.src = obj.url;
        document.body.appendChild(script)
        // 回调函数处理
        window[data.cb] = function (data) {
            // console.log(1)
            return obj.success(data)
        }
        if (obj.timer) {
            script.timer = setTimeout(function () {
                window[data.cb] = null;
                document.body.removeChild(script);
                obj.error({
                    message: '网络超时'
                })
            }, obj.timer)
        }

    }

    // ajax({
    //     type: 'get',
    //     url: 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',
    //     data: { wd: 'cb', cb: 'show' },
    //     success: function (res) {
    //         console.log(res)
    //     },
    //     error: function (res) {
    //         console.log(res)
    //     }
    // })
    // 只能发送get 不支持post put delete
    // 不安全\

    // ajax({
    //     type: 'get',
    //     url: 'http://localhost:3000/say',
    //     data: { wd: 'wb', cb: 'show' },
    //     success: function (res) {
    //         console.log(res)
    //     }
    // })


    




</script>

</html>